The Peripheral Component Interconnect Special Interest Group (PCI-SIG) is a non-profit electronics industry consortium responsible for specifying Peripheral Component Interconnect Express (PCIe) standards. One standard specified by PCI-SIG is the PCIe Base Revision 2.0 specification. The PCIe Base 2.0 specification specifies a credit-based, flow-control protocol for transmitting packets between endpoints connected to a PCIe bus.
Additionally, the PCIe Base 2.0 specification specifies basic ordering rules for determining when packets must be reordered to prevent deadlock and inconsistent data from occurring in a distributed producer-consumer ordering model. For example, a packet switch compliant with the PCIe Base 2.0 specification (i.e., a PCIe 2.0 packet switch) may be required to route a packet received at the packet switch before routing another packet previously received at the packet switch when the packet previously received at the packet switch is presently blocked in the packet switch.
In addition to the basic ordering rules, the PCIe Base 2.0 specification specifies relaxed ordering rules and identifier ordering rules. The relaxed ordering rules and the identifier ordering rules specify conditions in which a packet may, but is not required to, pass another packet. Because the relaxed ordering rules and the identifier ordering rules are not required in the PCIe Base 2.0 specification, many packet switches compliant with the PCIe Base 2.0 specification do not implement the relaxed ordering rules or the identifier ordering rules.